package com.LachesismStorm.lachesism.member.mapper;

import com.LachesismStorm.lachesism.member.vo.*;
import com.LachesismStorm.lachesism.member.vo.dto.*;
import com.LachesismStorm.lachesism.member.vo.dto.SysArea;
import com.LachesismStorm.lachesism.member.vo.param.DatingForumParam;
import com.LachesismStorm.lachesism.member.vo.param.MemberParam;

import java.util.List;

public interface DatingMapper {

    List<SysArea> getAreaList();

    List<MemberDto> getUserList(MemberParam umsMemberParam);

    void sendMessage(UmsMember userInfo);

    List<DatingChat> getChatList();

    void createEvent(DatingEvent datingEvent);

    List<DatingMessage> getMessageList(Integer userId);

    List<DatingFollow> getFollowList(Integer userId);

    Integer checkIsFollowed(Integer userId,Integer myId);

    void cancelFollow(Integer followId);

    void follow(DatingFollow datingFollow);

    List<DatingForum> getMyLike(Integer userId);

    void addView(Integer id);

    DatingForumDto getForumDetail(Integer id);

    Integer checkIsLicked(Integer id, Integer userId);

    void cancelLike(Integer likeId);

    void addLike(Integer id);

    void like( Integer userId,Integer id);

    void editForum(DatingForum forum);

    List<DatingForum> getMyForumList(Integer userId);

    List<DatingForum> getForumList(DatingForumParam forum);

    void publishForum(DatingForum forum);

    List<DatingEventDto> getMyEventApplicationList(Integer userId);

    List<DatingEventApplication> getEventApplicationList(Integer userId);

    void eventApplication(DatingEventApplication application);

    void updateEvent(DatingEvent datingEvent);

    List<DatingEvent> getDatEventList();

    void addComment(DatingComments comments);

    void deleteComment(Integer id);

    void chat(DatingChat chat);

    List<DatingChat> chatList1(Integer chatUserId, Integer userId);

    List<DatingChat> chatList2(Integer chatUserId, Integer userId);

    void addSwearing(String word);

    void deleteSwearing(Integer id);

    List<DatingSwearing> swearingList();

    void addApplicationCount(Integer id);

    List<DatingCommentsDto> getForumComment(DatingComments comments);
}